home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 1999 January - Disc 2 / Macworld (1999-01) (Disk 2).dmg / Serious Demos / Symbolic Composer 4.2 / Environment / Projects / Examples / First Tutorial / Fractal Mountains Source < prev    next >
Lisp/Scheme  |  1998-10-26  |  1KB  |  68 lines

  1. ; FRACTAL MOUNTAINS
  2.  
  3. (setq overtonal 
  4.     (activate-tonality 
  5.         (overtone-series 1 12 1 '(c 2))))
  6.  
  7. (setq material (vector-round 0 127 (gen-noise-brownian 9 0.4 0.8)))
  8. (setq melody (vector-to-symbol a x material))
  9. (setq rhythm (vector-to-list (vector-round (get-tick '1/16) 
  10.                                            (get-tick '1/4) 
  11.                                            material)))
  12. (setq dynamics (change-length times 2 rhythm))
  13. (setq zone (make-zone rhythm))
  14.  
  15. (def-symbol
  16.     sound1 melody
  17.     sound2 (find-change 
  18.             (symbol-scale '(a l) 
  19.                           (symbol-inversion 'h melody)))
  20.   
  21. (def-length
  22.     default rhythm
  23. )
  24.  
  25. (def-tonality
  26.     default overtonal
  27. )
  28.  
  29. (def-zone
  30.     default zone 
  31. )             
  32.  
  33. (def-channel
  34.     sound1 1
  35.     sound2 2
  36. )
  37.  
  38. ; Use some new-age sounds
  39.  
  40. (def-program gm-sound-set
  41.     sound1 fx-8-scifi
  42.     sound2 fx-4-athmosphere
  43. )
  44.  
  45. ; control the reverberation with a sine wave
  46. ; add some panning to make it breath
  47.  
  48. (def-controller gm-controllers
  49.     (sound1 
  50.         expression (list '(127)
  51.                          (vector-round 32 127 (gen-sin 1 0.3 16))))
  52.     (sound2 
  53.         panning (list '(0 32 64 96 127) 
  54.                   (vector-round 0 127 (gen-sin 1 0.3 32 180))))
  55. )
  56.  
  57. ; compile it to MIDI file
  58.  
  59. (midiport :printer)
  60.  
  61. (def-tempo 120)
  62.  
  63. (compile-instrument-p "ccl;output:"  "fractal"
  64.     sound1
  65.     sound2
  66. )
  67.